from abc import ABCMeta,abstractmethod

class CryptographyAlgorithm(metaclass=ABCMeta):
    @staticmethod
    @abstractmethod
    def real_midvalue(leakage_model):
        pass

    @staticmethod
    @abstractmethod
    def guess_midvalue(leakage_model):
        pass

    @staticmethod
    @abstractmethod
    def round_key(leakage_model):
        pass

    @staticmethod
    @abstractmethod
    def bytes_num(name):
        pass